package com.itheima.health.util;

import org.mindrot.jbcrypt.BCrypt;
import org.springframework.util.DigestUtils;

//安全工具对密码进行校验
public class SecurityUtil {
    public static boolean decode(String password,String passwordFromDB){
        //判断使用的那种算法,是否使用算法
        if (passwordFromDB.startsWith("{md5}")) {
            passwordFromDB = passwordFromDB.substring(passwordFromDB.lastIndexOf("}")+1);
            return DigestUtils.md5DigestAsHex(password.getBytes()).equals(passwordFromDB);
        }

        if (passwordFromDB.startsWith("{bcrypt}")) {
            passwordFromDB = passwordFromDB.substring(passwordFromDB.lastIndexOf("}")+1);
            return BCrypt.checkpw(password, passwordFromDB);
        }
        //没有使用密文
        return password.equals(passwordFromDB);
    }
}
